home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / modula2 / 249 < prev    next >
Encoding:
Internet Message Format  |  1996-08-06  |  3.6 KB

  1. Path: fourier.newcastle.edu.au!peter
  2. From: peter@fourier.newcastle.edu.au (Peter Moylan)
  3. Newsgroups: comp.lang.modula2
  4. Subject: Re: Why Modula-2? was Do any employers use Modula-2?
  5. Date: 4 Feb 1996 23:13:48 GMT
  6. Organization: The University of Newcastle
  7. Message-ID: <4f3ejc$g0t@seagoon.newcastle.edu.au>
  8. References: <4eqo1l$mko@wariat.wariat.org>
  9. Reply-To: peter@tesla.newcastle.edu.au
  10. NNTP-Posting-Host: fourier.newcastle.edu.au
  11. X-Newsreader: TIN [version 1.2 PL2]
  12.  
  13. Eric W. Nikitin (enikitin@junior.wariat.org) wrote:
  14. >I hope people don't get defensive about this question... but
  15. >I seriously would like an answer to this:
  16.  
  17. >Why should someone learn Modula-2 rather than one of its 
  18. >'sucessors' Oberon(-2) or Modula-3?
  19.  
  20. This gets down to a matter of personal preference.  I can
  21. give you my reasons, but you'd get a completely different
  22. answer if you posted to comp.lang.oberon or comp.lang.modula3.
  23.  
  24. 1. Compiler availability: Modula-2 is available for most
  25.    machines, but Oberon and Modula-3 have much more restricted
  26.    support so far.  There's now an ISO standard for Modula-2,
  27.    although admittedly it will be a while before the
  28.    compiler-writers start sticking to the standard.  Modula-3
  29.    has some good ideas but because of the way it was developed
  30.    it's almost a proprietary product which might or might not
  31.    be ported to other platforms.  I believe that the Oberon
  32.    people are looking at developing a standard, but I also
  33.    believe that it's going to take them a long time.
  34.  
  35. 2. Garbage collection.  This is an issue for me, might not be
  36.    an issue for others.  I work in real-time applications where
  37.    it's not all that safe to have garbage collection going on
  38.    behind the scenes.  I know there are ways to turn it off,
  39.    but if you do that then you throw away some of the better
  40.    features of Modula-3 and might as well stick to Modula-2.
  41.  
  42. 3. Oberon was designed in such a way that it's not just a
  43.    language, it's a language plus something like an operating
  44.    system.  There are things in the design that make it
  45.    difficult to separate these two things.  If you don't like
  46.    the interface, then Oberon is a bit of a pain to use.
  47.    In addition, it means that Oberon is firmly committed to
  48.    "workstation" type applications; it's not clear that it
  49.    would be a viable choice for things like embedded systems.
  50.  
  51. 4. Finally, I happen to think that in many of its properties
  52.    Oberon is a step backwards rather than an advance.  The
  53.    extensible records of Oberon are very nice (much better than
  54.    the usual OO approaches), but there are some features of
  55.    Modula-2 which IMO are worth having and which have been
  56.    deleted from Oberon.
  57.  
  58. One thing that really bugs me about Oberon is the lack of
  59. separate definition modules.  The Oberon people claim this as
  60. an advance, but I'm not convinced.  If you use the Oberon
  61. feature of looking at a module interface (it's a bit like
  62. automatic generation of a definition module) then what you
  63. get is really cryptic: no comments, unclear workarounds to
  64. compensate for the missing enumerated types, etc.  It feels
  65. a bit like using the C/grep approach.  I accept that there are
  66. some genuine important advances in Oberon, but it has a long
  67. way to go before becoming programmer-friendly.  At the
  68. moment it's a bit like the Unix design: nice to use if you
  69. happen to be a guru who understands all the internals, but
  70. too obscure for the average programmer.
  71.  
  72. Modula-3 is something different.  I could accept Modula-3 as
  73. a genuine upgrade of Modula-2, but it's not going to go
  74. anywhere unless it gets ported to lots of platforms.
  75.  
  76. --
  77. Peter Moylan                       peter@ee.newcastle.edu.au
  78.                            ftp://ee.newcastle.edu.au/pub/www/Moylan.html
  79.